// 入口函数
$(function() {
    // 声明layer
    var layer = layui.layer
    var form = layui.form
  
    initArtCateList()
  
    // 获取文章分类的列表
    function initArtCateList() {
      $.ajax({
        method: 'GET',
        url: '/my/article/cates',
        success: function(res) {
          var htmlStr = template('tpl-table', res)
          $('tbody').html(htmlStr)
        }
      })
    }
  
    // 为添加类别按钮绑定点击事件
    var indexAdd = null
    $('#btnAddCate').on('click', function() {
        // 框架的弹出层
      indexAdd = layer.open({
          // 修改弹出层样式
        type: 1,
        area: ['500px', '250px'],
        title: '添加文章分类',
        // 因为弹出层是影藏的， 则给他的对应内容添加到script中
        content: $('#dialog-add').html()
      })
    })
  
    // 通过代理的形式，为 form-add 表单绑定 submit 事件 （这个事件指是否提交了表单）
    $('body').on('submit', '#form-add', function(e) {
        // 阻止默认事件
      e.preventDefault()

      $.ajax({
        method: 'POST',
        url: '/my/article/addcates',
        // serialize 这个方法是根据input内对应的name 获取对应的数据 打包为一个数组 ，这个数组里面是对象
        data: $(this).serialize(),
        success: function(res) {
          if (res.status !== 0) {
            return layer.msg('新增分类失败！')
          }
          // 重新渲染页面
          initArtCateList()
        //   弹出新增分类成功
          layer.msg('新增分类成功！')
          // 根据索引，关闭对应的弹出层
          layer.close(indexAdd)
        }
      })
    })
  
    // 通过代理的形式，为 btn-edit 按钮绑定点击事件
    var indexEdit = null
    $('tbody').on('click', '.btn-edit', function() {
      // 弹出一个修改文章分类信息的层
      indexEdit = layer.open({
        type: 1,
        area: ['500px', '250px'],
        title: '修改文章分类',
        content: $('#dialog-edit').html()
      })
  
      var id = $(this).attr('data-id')
      // 发起请求获取对应分类的数据
      $.ajax({
        method: 'GET',
        url: '/my/article/cates/' + id,
        success: function(res) {
            // 把数据库李对应id的数据放在弹出表单里对应name 的value里
          form.val('form-edit', res.data)
        }
      })
    })
  
    // 通过代理的形式，为修改分类的表单绑定 submit 事件
    $('body').on('submit', '#form-edit', function(e) {
      e.preventDefault()
      $.ajax({
        method: 'POST',
        url: '/my/article/updatecate',
        data: $(this).serialize(),
        success: function(res) {
          if (res.status !== 0) {
            return layer.msg('更新分类数据失败！')
          }
          layer.msg('更新分类数据成功！')
          layer.close(indexEdit)
          initArtCateList()
        }
      })
    })
  
    // 通过代理的形式，为删除按钮绑定点击事件
    $('tbody').on('click', '.btn-delete', function() {
      var id = $(this).attr('data-id')
      // 提示用户是否要删除
      layer.confirm('确认删除?', { icon: 3, title: '提示' }, function(index) {
        $.ajax({
          method: 'GET',
          url: '/my/article/deletecate/' + id,
          success: function(res) {
            if (res.status !== 0) {
              return layer.msg('删除分类失败！')
            }
            layer.msg('删除分类成功！')
            layer.close(index)
            initArtCateList()
          }
        })
      })
    })
  })
  